// 小团最近在玩手机上的四川麻将。四川麻将的一种玩法是玩家摸完牌之后选择三张花色一样的牌按某种顺序换给其他人。
// 为了尽可能破坏对手的游戏体验，小团每次都会选择不连续的三张牌换出去。
// 比如小团手上有14568这5张条子，则他可能会选择158这三张条子换出去。爱思考的小团马上对这个问题进行了推广。
// 小团把这个问题进行了简化，现在他给了你一个可重集合，
// 并希望你从中选出一个尽可能大的子集使得其中没有两个数是“连续”的（连续是指即这两个数之差的绝对值不超过1）。
// 输入描述
// 第一行有一个整数n（1<=n<=100000），代表小团给你的可重集大小。
// 第二行有n个空格隔开的整数（范围在1到200000之间），代表小团给你的可重集。
//  输出描述
// 输出满足条件的最大子集的大小。
// 样例输入
// 6
// 1 2 3 5 6 7
// 样例输出
// 4

// 由题，用贪心算法
/**
 * n为可重集大小，arr为可重集，这里默认把n个空格隔开的整数化成了数组
 * @param {*} n 
 * @param {*} arr 
 */
function maxArr(n, arr) {
    arr = arr.sort((a, b) => a - b)
    let pre = arr[0]
    // 子集最小长度为1
    let res = 1
    for (let i = 1; i < n; i++) {
        if (arr[i] - pre > 1) {
            res++
            pre = arr[i]
        }
    }
    return res
}

let arr = [1, 2, 3, 5, 6, 7, 9]
console.log(maxArr(6, arr));